In a client-server environment where a service provider implements a notification service on the server-side to deliver messages to clients, the service can be configured to process and deliver notification messages to clients on behalf of third parties. In some traditional approaches, the messaging can be based on client state data such as addresses, routing data, account data, authentication data and/or other state data that is maintained persistently by a service provider on the server-side for numerous clients.
Maintaining such client state data for numerous clients, though, can be expensive because resources (e.g., memory and processing capacity) that could otherwise be enlisted by the service provider for other purposes are tied up for storage and management of the state data. Moreover, it is inefficient and wasteful to persistently store state data at the service provider for clients that may connect infrequently and/or may connect one time and then never reconnect again. In addition, a centralized store can be a security risk as a target for hackers to obtain client data and notifications are dependent upon the reliability of a single centralized store.